unit uDmGermax;

interface

uses
  SysUtils, Classes, WideStrings, DBXFirebird, DB, SqlExpr, FMTBcd, Provider,
  DBClient, TConnect,Dialogs;

type
  TdmGermax = class(TDataModule)
    germaxConn: TSQLConnection;
    dtsPessoa: TSQLDataSet;
    dtsCliente: TSQLDataSet;
    dspPessoa: TDataSetProvider;
    dspCliente: TDataSetProvider;
    germaxLocal: TLocalConnection;
    dtsClienteID_PESSOA: TIntegerField;
    dtsClienteCADASTRO: TSQLTimeStampField;
    dtsClienteULTIMACOMPRA: TSQLTimeStampField;
    dtsClienteSTATUS: TStringField;
    dtsPessoaID: TIntegerField;
    dtsPessoaTIPO: TStringField;
    dtsPessoaNOME: TStringField;
    dtsPessoaAPELIDO: TStringField;
    dtsPessoaCPF: TStringField;
    dtsPessoaRG: TStringField;
    dtsPessoaID_ENDERECO: TIntegerField;
    dtsPessoaID_ENDERECO_COBRANCA: TIntegerField;
    dtsPessoaID_ENDERECO_ENTREGA: TIntegerField;
    dtsEnderecos: TSQLDataSet;
    dspEnderecos: TDataSetProvider;
    dtsEnderecosID: TIntegerField;
    dtsEnderecosID_PESSOA: TIntegerField;
    dtsEnderecosLOGRADOURO: TStringField;
    dtsEnderecosNUMERO: TStringField;
    dtsEnderecosCOMPLEMENTO: TStringField;
    dtsEnderecosBAIRRO: TStringField;
    dtsEnderecosCIDADE: TStringField;
    dtsEnderecosESTADO: TStringField;
    dtsEnderecosCEP: TStringField;
  private
    { Private declarations }
  public
    { Public declarations }
    function autoInc(GenName: string): Integer;
  end;

var
  dmGermax: TdmGermax;

implementation

{$R *.dfm}
{ TdmGermax }


/// <summary>
///   pega uma nova chave na tabela
/// </summary>
function TdmGermax.autoInc(GenName: string): Integer;
var
  qry: TSQLQuery;
begin
  try
    qry := TSQLQuery.Create(Self);
    qry.SQLConnection:=germaxConn;
    qry.CommandText:='SELECT GEN_ID('+genName+', 1) FROM RDB$DATABASE';
    qry.Open;

    Result:=qry.Fields[0].AsInteger;
  finally
    qry.Free;
  end;
end;

end.
